[INFO] cloning repository https://github.com/moukrea/immich-extended
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/moukrea/immich-extended" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoukrea%2Fimmich-extended", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoukrea%2Fimmich-extended'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 74dd6be79e3fd098c3e2ae9baa5be93939306702
[INFO] fixing moukrea/immich-extended against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmoukrea%2Fimmich-extended" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/moukrea/immich-extended
[INFO] finished tweaking git repo https://github.com/moukrea/immich-extended
[INFO] tweaked toml for git repo https://github.com/moukrea/immich-extended written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/moukrea/immich-extended on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/moukrea/immich-extended already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 003ee90c257134d4cd62e147ce73b28a2dba4ab2239993d3e64c0f6a9b772d1d
[INFO] running `Command { std: "docker" "start" "003ee90c257134d4cd62e147ce73b28a2dba4ab2239993d3e64c0f6a9b772d1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "003ee90c257134d4cd62e147ce73b28a2dba4ab2239993d3e64c0f6a9b772d1d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "003ee90c257134d4cd62e147ce73b28a2dba4ab2239993d3e64c0f6a9b772d1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "003ee90c257134d4cd62e147ce73b28a2dba4ab2239993d3e64c0f6a9b772d1d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating crates/server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/common/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/engine/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/immich-client/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/yolo/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]    Compiling ort-sys v2.0.0-rc.10
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking sqlx-sqlite v0.8.6
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking smallvec v2.0.0-alpha.10
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking deadpool v0.12.3
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking ort v2.0.0-rc.10
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking rsa v0.9.10
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]    Compiling serde_with_macros v3.20.0
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking wiremock v0.6.5
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking serde_with v3.20.0
[INFO] [stderr]     Checking cookie v0.18.1
[INFO] [stderr]     Checking oauth2 v5.0.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking predicates-core v1.0.10
[INFO] [stderr]     Checking immich-extended-common v0.1.0 (/opt/rustwide/workdir/crates/common)
[INFO] [stderr]    Migrating crates/common/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking immich-extended-immich-client v0.1.0 (/opt/rustwide/workdir/crates/immich-client)
[INFO] [stderr]    Migrating crates/immich-client/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking immich-extended-yolo v0.1.0 (/opt/rustwide/workdir/crates/yolo)
[INFO] [stderr]     Checking immich-extended-engine v0.1.0 (/opt/rustwide/workdir/crates/engine)
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]    Migrating crates/yolo/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/yolo/src/model.rs:49:29
[INFO] [stdout]     |
[INFO] [stdout]  49 |     while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |             |
[INFO] [stdout]     |                             |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  50 |         let bytes = chunk?;
[INFO] [stdout]     |             -----   ------
[INFO] [stdout]     |             |       |
[INFO] [stdout]     |             |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `bytes` calls a custom destructor
[INFO] [stdout]     |             `bytes` will be dropped later as of Edition 2024
[INFO] [stdout]  51 |         file.write_all(&bytes).await?;
[INFO] [stdout]  52 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/engine/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/yolo/src/video.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |     while let Some(entry) = rd.next_entry().await? {
[INFO] [stdout]    |                    -----    ---------------------^
[INFO] [stdout]    |                    |        |               |
[INFO] [stdout]    |                    |        |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                    |        |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |        |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |        |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                    |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]    |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    `entry` calls a custom destructor
[INFO] [stdout]    |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 67 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking predicates-tree v1.0.13
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking openidconnect v4.0.1
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Migrating crates/yolo/tests/video.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/yolo/tests/inference.rs from 2021 edition to 2024
[INFO] [stderr]     Checking jsonwebtoken v10.4.0
[INFO] [stderr]    Migrating crates/immich-client/tests/download.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/immich-client/tests/people_albums.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/yolo/src/model.rs:49:29
[INFO] [stdout]     |
[INFO] [stdout]  49 |     while let Some(chunk) = stream.next().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                             |             |
[INFO] [stdout]     |                             |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  50 |         let bytes = chunk?;
[INFO] [stdout]     |             -----   ------
[INFO] [stdout]     |             |       |
[INFO] [stdout]     |             |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `bytes` calls a custom destructor
[INFO] [stdout]     |             `bytes` will be dropped later as of Edition 2024
[INFO] [stdout]  51 |         file.write_all(&bytes).await?;
[INFO] [stdout]  52 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/yolo/src/video.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |     while let Some(entry) = rd.next_entry().await? {
[INFO] [stdout]    |                    -----    ---------------------^
[INFO] [stdout]    |                    |        |               |
[INFO] [stdout]    |                    |        |               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                    |        |               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |        |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                    |        |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                    |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                    |        `__awaitee` calls a custom destructor
[INFO] [stdout]    |                    |        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    |                    `entry` calls a custom destructor
[INFO] [stdout]    |                    `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 67 |     }
[INFO] [stdout]    |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking axum-extra v0.9.6
[INFO] [stderr]     Checking immich-extended-server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr]        Fixed crates/common/src/crypto/master_key.rs (6 fixes)
[INFO] [stderr]    Migrating crates/server/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/server/src/config.rs (21 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/engine_cycle.rs:330:6
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let client = build_client(&key.base_url)?;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 |     .await
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 331 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/engine_cycle.rs:374:27
[INFO] [stdout]     |
[INFO] [stdout] 374 |           if let Err(err) = match_one_rule_against_candidates(
[INFO] [stdout]     |  ____________________---____^
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    `err` calls a custom destructor
[INFO] [stdout]     | |                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] 375 | |             pool,
[INFO] [stdout] 376 | |             master_key,
[INFO] [stdout] 377 | |             data_dir,
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | |         .await
[INFO] [stdout]     | |          ----^
[INFO] [stdout]     | |          |   |
[INFO] [stdout]     | |          |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |          |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |__________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/engine_cycle.rs:425:6
[INFO] [stdout]     |
[INFO] [stdout] 407 |     let client = build_client(&key.base_url)?;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 425 |     .await
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 426 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/engine_cycle.rs:1052:18
[INFO] [stdout]      |
[INFO] [stdout] 1050 |             let tmp = write_tempfile(&bytes, ".jpg")?;
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `tmp` calls a custom destructor
[INFO] [stdout]      |                 `tmp` will be dropped later as of Edition 2024
[INFO] [stdout] 1051 |             yolo::count_people_in_image(data_dir, tmp.path())
[INFO] [stdout] 1052 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1053 |                 .map_err(|e| CycleError::Yolo(e.to_string()))
[INFO] [stdout] 1054 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `tmp` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `tmp` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.27.0/src/file/mod.rs:402:1
[INFO] [stdout]      |
[INFO] [stdout]  402 | impl Drop for TempPath {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/engine_cycle.rs:1062:18
[INFO] [stdout]      |
[INFO] [stdout] 1060 |             let tmp = write_tempfile(&bytes, ".mp4")?;
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `tmp` calls a custom destructor
[INFO] [stdout]      |                 `tmp` will be dropped later as of Edition 2024
[INFO] [stdout] 1061 |             yolo::count_people_in_video(data_dir, tmp.path())
[INFO] [stdout] 1062 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1063 |                 .map_err(|e| CycleError::Yolo(e.to_string()))
[INFO] [stdout] 1064 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `tmp` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `tmp` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.27.0/src/file/mod.rs:402:1
[INFO] [stdout]      |
[INFO] [stdout]  402 | impl Drop for TempPath {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/indexer.rs:235:43
[INFO] [stdout]      |
[INFO] [stdout]  232 | /                 tokio::select! {
[INFO] [stdout]  233 | |                     _ = token.cancelled() => break,
[INFO] [stdout]  234 | |                     _ = tokio::time::sleep(interval) => {
[INFO] [stdout]  235 | |                         if let Err(err) = this.sweep_all_users().await {
[INFO] [stdout]      | |                                    ---    ^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      | |                                    |      |                      |
[INFO] [stdout]      | |                                    |      |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                    |      |                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                                    |      |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |                                    |      |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                    |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                    |      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                                    |      `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                    |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                    `err` calls a custom destructor
[INFO] [stdout]      | |                                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  239 | |                 }
[INFO] [stdout]      | |                 -
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `futures_init` calls a custom destructor
[INFO] [stdout]      | |                 `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                 `futures` calls a custom destructor
[INFO] [stdout]      | |_________________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/indexer.rs:313:23
[INFO] [stdout]     |
[INFO] [stdout] 276 |               match sweep_one_user_inner(
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 277 | |                 &self.pool,
[INFO] [stdout] 278 | |                 &self.master_key,
[INFO] [stdout] 279 | |                 &row.user_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 283 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |              |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 295 |                               hook(row.user_id.clone(), summary.touched_ids).await;
[INFO] [stdout]     |                               ----------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |                   Err(err) => {
[INFO] [stdout]     |                       ---
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `err` calls a custom destructor
[INFO] [stdout]     |                       `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |                   match reconcile_one_user(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 314 | |                     &self.pool,
[INFO] [stdout] 315 | |                     &self.master_key,
[INFO] [stdout] 316 | |                     &row.user_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 319 | |                 .await
[INFO] [stdout]     | |                  ----^
[INFO] [stdout]     | |__________________|___|
[INFO] [stdout]     | |__________________|___this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |__________________|___up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |__________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                    up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 327 | |                     Err(err) => tracing::warn!(
[INFO] [stdout]     | |                         ---
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/matcher.rs:181:31
[INFO] [stdout]     |
[INFO] [stdout] 181 |               if let Err(err) = engine_cycle::match_rule_full(
[INFO] [stdout]     |  ________________________---____^
[INFO] [stdout]     | |                        |
[INFO] [stdout]     | |                        `err` calls a custom destructor
[INFO] [stdout]     | |                        `err` will be dropped later as of Edition 2024
[INFO] [stdout] 182 | |                 &self.pool,
[INFO] [stdout] 183 | |                 &self.master_key,
[INFO] [stdout] 184 | |                 &self.data_dir,
[INFO] [stdout] ...   |
[INFO] [stdout] 189 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |              |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 197 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/me/index_status.rs:92:11
[INFO] [stdout]     |
[INFO] [stdout]  91 |     let client = immich_client::ImmichClient::new(base);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout]  92 |     match client.get_asset_statistics(&api_key).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                                     |
[INFO] [stdout]     |           |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  99 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/me/index_status.rs:92:49
[INFO] [stdout]     |
[INFO] [stdout]  91 |     let client = immich_client::ImmichClient::new(base);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout]  92 |     match client.get_asset_statistics(&api_key).await {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  99 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/rules/handlers.rs:836:11
[INFO] [stdout]     |
[INFO] [stdout] 835 |     let client = immich_client::ImmichClient::new(base);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] 836 |     match client.get_album_asset_ids(&api_key, album_id).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                                              |
[INFO] [stdout]     |           |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 843 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/rules/handlers.rs:836:58
[INFO] [stdout]     |
[INFO] [stdout] 835 |     let client = immich_client::ImmichClient::new(base);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] 836 |     match client.get_album_asset_ids(&api_key, album_id).await {
[INFO] [stdout]     |                                                          ^^^^^
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 843 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/rules/resolver.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 120 |         let client = Self::build_client(&key.base_url)?;
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/engine_cycle.rs:330:6
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let client = build_client(&key.base_url)?;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 |     .await
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 331 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/engine_cycle.rs:374:27
[INFO] [stdout]     |
[INFO] [stdout] 374 |           if let Err(err) = match_one_rule_against_candidates(
[INFO] [stdout]     |  ____________________---____^
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |                    `err` calls a custom destructor
[INFO] [stdout]     | |                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] 375 | |             pool,
[INFO] [stdout] 376 | |             master_key,
[INFO] [stdout] 377 | |             data_dir,
[INFO] [stdout] ...   |
[INFO] [stdout] 382 | |         .await
[INFO] [stdout]     | |          ----^
[INFO] [stdout]     | |          |   |
[INFO] [stdout]     | |          |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |          |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |__________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |            |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 391 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/engine_cycle.rs:425:6
[INFO] [stdout]     |
[INFO] [stdout] 407 |     let client = build_client(&key.base_url)?;
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 425 |     .await
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout]     |      |
[INFO] [stdout]     |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 426 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/engine_cycle.rs:1052:18
[INFO] [stdout]      |
[INFO] [stdout] 1050 |             let tmp = write_tempfile(&bytes, ".jpg")?;
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `tmp` calls a custom destructor
[INFO] [stdout]      |                 `tmp` will be dropped later as of Edition 2024
[INFO] [stdout] 1051 |             yolo::count_people_in_image(data_dir, tmp.path())
[INFO] [stdout] 1052 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1053 |                 .map_err(|e| CycleError::Yolo(e.to_string()))
[INFO] [stdout] 1054 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `tmp` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `tmp` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.27.0/src/file/mod.rs:402:1
[INFO] [stdout]      |
[INFO] [stdout]  402 | impl Drop for TempPath {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/engine_cycle.rs:1062:18
[INFO] [stdout]      |
[INFO] [stdout] 1060 |             let tmp = write_tempfile(&bytes, ".mp4")?;
[INFO] [stdout]      |                 ---
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `tmp` calls a custom destructor
[INFO] [stdout]      |                 `tmp` will be dropped later as of Edition 2024
[INFO] [stdout] 1061 |             yolo::count_people_in_video(data_dir, tmp.path())
[INFO] [stdout] 1062 |                 .await
[INFO] [stdout]      |                  ^^^^^
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1063 |                 .map_err(|e| CycleError::Yolo(e.to_string()))
[INFO] [stdout] 1064 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `tmp` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `tmp` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tempfile-3.27.0/src/file/mod.rs:402:1
[INFO] [stdout]      |
[INFO] [stdout]  402 | impl Drop for TempPath {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/indexer.rs:235:43
[INFO] [stdout]      |
[INFO] [stdout]  232 | /                 tokio::select! {
[INFO] [stdout]  233 | |                     _ = token.cancelled() => break,
[INFO] [stdout]  234 | |                     _ = tokio::time::sleep(interval) => {
[INFO] [stdout]  235 | |                         if let Err(err) = this.sweep_all_users().await {
[INFO] [stdout]      | |                                    ---    ^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      | |                                    |      |                      |
[INFO] [stdout]      | |                                    |      |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                    |      |                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                                    |      |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |                                    |      |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                    |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                    |      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                                    |      `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                    |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                    `err` calls a custom destructor
[INFO] [stdout]      | |                                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  239 | |                 }
[INFO] [stdout]      | |                 -
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `futures_init` calls a custom destructor
[INFO] [stdout]      | |                 `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                 `futures` calls a custom destructor
[INFO] [stdout]      | |_________________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/indexer.rs:313:23
[INFO] [stdout]     |
[INFO] [stdout] 276 |               match sweep_one_user_inner(
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 277 | |                 &self.pool,
[INFO] [stdout] 278 | |                 &self.master_key,
[INFO] [stdout] 279 | |                 &row.user_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 283 | |             .await
[INFO] [stdout]     | |              -----
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |              |   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 295 |                               hook(row.user_id.clone(), summary.touched_ids).await;
[INFO] [stdout]     |                               ----------------------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |                   Err(err) => {
[INFO] [stdout]     |                       ---
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `err` calls a custom destructor
[INFO] [stdout]     |                       `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |                   match reconcile_one_user(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout]     | |_______________________|
[INFO] [stdout] 314 | |                     &self.pool,
[INFO] [stdout] 315 | |                     &self.master_key,
[INFO] [stdout] 316 | |                     &row.user_id,
[INFO] [stdout] ...   |
[INFO] [stdout] 319 | |                 .await
[INFO] [stdout]     | |                  ----^
[INFO] [stdout]     | |__________________|___|
[INFO] [stdout]     | |__________________|___this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |__________________|___up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |__________________|___this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                    |   `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                    up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 327 | |                     Err(err) => tracing::warn!(
[INFO] [stdout]     | |                         ---
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/matcher.rs:181:31
[INFO] [stdout]     |
[INFO] [stdout] 181 |               if let Err(err) = engine_cycle::match_rule_full(
[INFO] [stdout]     |  ________________________---____^
[INFO] [stdout]     | |                        |
[INFO] [stdout]     | |                        `err` calls a custom destructor
[INFO] [stdout]     | |                        `err` will be dropped later as of Edition 2024
[INFO] [stdout] 182 | |                 &self.pool,
[INFO] [stdout] 183 | |                 &self.master_key,
[INFO] [stdout] 184 | |                 &self.data_dir,
[INFO] [stdout] ...   |
[INFO] [stdout] 189 | |             .await
[INFO] [stdout]     | |              ----^
[INFO] [stdout]     | |              |   |
[INFO] [stdout]     | |              |   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |              |   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]     |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 197 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/me/index_status.rs:92:11
[INFO] [stdout]     |
[INFO] [stdout]  91 |     let client = immich_client::ImmichClient::new(base);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout]  92 |     match client.get_asset_statistics(&api_key).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                                     |
[INFO] [stdout]     |           |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  99 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/me/index_status.rs:92:49
[INFO] [stdout]     |
[INFO] [stdout]  91 |     let client = immich_client::ImmichClient::new(base);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout]  92 |     match client.get_asset_statistics(&api_key).await {
[INFO] [stdout]     |                                                 ^^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  99 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/rules/handlers.rs:836:11
[INFO] [stdout]     |
[INFO] [stdout] 835 |     let client = immich_client::ImmichClient::new(base);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] 836 |     match client.get_album_asset_ids(&api_key, album_id).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |           |                                              |
[INFO] [stdout]     |           |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           |                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 843 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/rules/handlers.rs:836:58
[INFO] [stdout]     |
[INFO] [stdout] 835 |     let client = immich_client::ImmichClient::new(base);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `client` calls a custom destructor
[INFO] [stdout]     |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] 836 |     match client.get_album_asset_ids(&api_key, album_id).await {
[INFO] [stdout]     |                                                          ^^^^^
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 843 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/server/src/rules/resolver.rs:123:14
[INFO] [stdout]     |
[INFO] [stdout] 102 | #[async_trait]
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 120 |         let client = Self::build_client(&key.base_url)?;
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `client` calls a custom destructor
[INFO] [stdout]     |             `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |             .await
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.32/src/oneshot.rs:387:1
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/server/tests/matcher.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/oidc.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/health.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/me_activity.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/static_assets.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/src/main.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/admin_cli.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/main.rs:237:43
[INFO] [stdout]      |
[INFO] [stdout]  234 | /                 tokio::select! {
[INFO] [stdout]  235 | |                     _ = token.cancelled() => break,
[INFO] [stdout]  236 | |                     _ = tokio::time::sleep(interval) => {
[INFO] [stdout]  237 | |                         if let Err(err) = matcher.safety_sweep().await {
[INFO] [stdout]      | |                                    ---    ^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      | |                                    |      |                      |
[INFO] [stdout]      | |                                    |      |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                    |      |                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                                    |      |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |                                    |      |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                    |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                    |      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                                    |      `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                    |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                    `err` calls a custom destructor
[INFO] [stdout]      | |                                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  241 | |                 }
[INFO] [stdout]      | |                 -
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `futures_init` calls a custom destructor
[INFO] [stdout]      | |                 `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                 `futures` calls a custom destructor
[INFO] [stdout]      | |_________________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/server/tests/index_status.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/rule_runs.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/rules_crud.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/rule_match_count.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/rule_decisions.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/engine_cycle_yolo.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/indexer.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/indexer_match.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/album_sync.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/setup.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/me_immich.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/auth_local.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/server/src/main.rs:237:43
[INFO] [stdout]      |
[INFO] [stdout]  234 | /                 tokio::select! {
[INFO] [stdout]  235 | |                     _ = token.cancelled() => break,
[INFO] [stdout]  236 | |                     _ = tokio::time::sleep(interval) => {
[INFO] [stdout]  237 | |                         if let Err(err) = matcher.safety_sweep().await {
[INFO] [stdout]      | |                                    ---    ^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      | |                                    |      |                      |
[INFO] [stdout]      | |                                    |      |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                    |      |                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                                    |      |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      | |                                    |      |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                    |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                    |      up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                                    |      `__awaitee` calls a custom destructor
[INFO] [stdout]      | |                                    |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                    `err` calls a custom destructor
[INFO] [stdout]      | |                                    `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  241 | |                 }
[INFO] [stdout]      | |                 -
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `futures_init` calls a custom destructor
[INFO] [stdout]      | |                 `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                 `futures` calls a custom destructor
[INFO] [stdout]      | |_________________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures_init` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `futures` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/notify.rs:1041:1
[INFO] [stdout]      |
[INFO] [stdout] 1041 | impl Drop for Notified<'_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/server/tests/engine_cycle.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/immich_key.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/cross_account_isolation.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/server/tests/match_assets.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 50s
[INFO] [stderr] crater-edition-check: immich-extended-server v0.1.0 (/opt/rustwide/workdir/crates/server) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: immich-extended-common v0.1.0 (/opt/rustwide/workdir/crates/common) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: immich-extended-engine v0.1.0 (/opt/rustwide/workdir/crates/engine) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: immich-extended-immich-client v0.1.0 (/opt/rustwide/workdir/crates/immich-client) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: immich-extended-yolo v0.1.0 (/opt/rustwide/workdir/crates/yolo) updating edition from 2021 to 2024
[INFO] [stderr]     Checking immich-extended-common v0.1.0 (/opt/rustwide/workdir/crates/common)
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/common/src/crypto/master_key.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |             unsafe { std::env::remove_var(MASTER_KEY_ENV) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/common/src/crypto/master_key.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |             unsafe { std::env::remove_var(MASTER_KEY_ENV) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/common/src/crypto/master_key.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         unsafe { std::env::set_var(MASTER_KEY_ENV, &hex_val) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/common/src/crypto/master_key.rs:258:9
[INFO] [stdout]     |
[INFO] [stdout] 258 |         unsafe { std::env::set_var(MASTER_KEY_ENV, "deadbeef") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/common/src/crypto/master_key.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |         unsafe { std::env::set_var(MASTER_KEY_ENV, "zzz".repeat(22)) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/common/src/crypto/master_key.rs:278:9
[INFO] [stdout]     |
[INFO] [stdout] 278 |         unsafe { std::env::set_var(MASTER_KEY_ENV, "") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking immich-extended-immich-client v0.1.0 (/opt/rustwide/workdir/crates/immich-client)
[INFO] [stderr]     Checking immich-extended-yolo v0.1.0 (/opt/rustwide/workdir/crates/yolo)
[INFO] [stderr]     Checking immich-extended-engine v0.1.0 (/opt/rustwide/workdir/crates/engine)
[INFO] [stderr]     Checking immich-extended-server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr] error: could not compile `immich-extended-common` (lib test) due to 6 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 unsafe { env::remove_var(k) };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 unsafe { env::remove_var(k) };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         unsafe { env::set_var("IMMICH_EXT_MASTER_KEY", TEST_MASTER_KEY) };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         unsafe { env::set_var("SESSION_COOKIE_NAME", "iext_session_dev") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 288 |         unsafe { env::set_var("SESSION_COOKIE_SECURE", "false") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |         unsafe { env::set_var("HTTP_BIND", "127.0.0.1:9090") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:303:9
[INFO] [stdout]     |
[INFO] [stdout] 303 |         unsafe { env::set_var("LOG_LEVEL", "debug") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         unsafe { env::set_var("DATA_DIR", "/tmp/iet") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:307:9
[INFO] [stdout]     |
[INFO] [stdout] 307 |         unsafe { env::set_var("DATABASE_URL", "sqlite::memory:") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 322 |         unsafe { env::set_var("DATA_DIR", "/var/lib/iet") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |         unsafe { env::set_var("HTTP_BIND", "not-a-socket") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 |         unsafe { env::set_var("DATABASE_URL", "") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |         unsafe { env::set_var("OIDC_ISSUER_URL", "https://issuer.example.test") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:383:9
[INFO] [stdout]     |
[INFO] [stdout] 383 |         unsafe { env::set_var("OIDC_CLIENT_ID", "ie-client") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:385:9
[INFO] [stdout]     |
[INFO] [stdout] 385 |         unsafe { env::set_var("OIDC_CLIENT_SECRET", "shh") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 | /         unsafe { env::set_var(
[INFO] [stdout] 388 | |             "OIDC_REDIRECT_URL",
[INFO] [stdout] 389 | |             "https://ext.example.test/api/v1/auth/oidc/callback",
[INFO] [stdout] 390 | |         ) };
[INFO] [stdout]     | |___________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 409 |         unsafe { env::set_var("OIDC_ISSUER_URL", "https://issuer.example.test") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:411:9
[INFO] [stdout]     |
[INFO] [stdout] 411 |         unsafe { env::set_var("OIDC_CLIENT_ID", "ie-client") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout] 431 |         unsafe { env::set_var("OIDC_ISSUER_URL", "") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:456:9
[INFO] [stdout]     |
[INFO] [stdout] 456 |         unsafe { env::set_var("WEB_DIST_DIR", "/srv/iet/web/dist") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> crates/server/src/config.rs:468:9
[INFO] [stdout]     |
[INFO] [stdout] 468 |         unsafe { env::set_var("WEB_DIST_DIR", "") };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `immich-extended-server` (lib test) due to 21 previous errors
[INFO] running `Command { std: "docker" "inspect" "003ee90c257134d4cd62e147ce73b28a2dba4ab2239993d3e64c0f6a9b772d1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "003ee90c257134d4cd62e147ce73b28a2dba4ab2239993d3e64c0f6a9b772d1d", kill_on_drop: false }`
[INFO] [stdout] 003ee90c257134d4cd62e147ce73b28a2dba4ab2239993d3e64c0f6a9b772d1d
